<!DOCTYPE html>
<html class="client-nojs vector-feature-night-mode-disabled vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-sticky-header-enabled" lang="en" dir="ltr"><head>
<meta charset="UTF-8">
<title>File system API</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="canonical" href="https://en.wikipedia.org/wiki/File_system_API"> <link href="./mw/skins.vector.icons.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/user.styles.css" rel="stylesheet" type="text/css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link rel="stylesheet" type="text/css" href="./mw/site.styles.css">
<link rel="stylesheet" type="text/css" href="./mw/noscript.css">
<link rel="stylesheet" type="text/css" href="./footer.css">
<link rel="stylesheet" type="text/css" href="./vector-2022.css">
</head>
<body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-File_system_API rootpage-File_system_API skin-vector-2022 action-view">
<div class="mw-page-container">
<div class="mw-page-container-inner">
<div class="mw-content-container">
<main id="content" class="mw-body">
<header class="mw-body-header vector-page-titlebar">
<h1 id="firstHeading" class="firstHeading mw-first-heading">
<span id="openzim-page-title" class="mw-page-title-main"><span class="mw-page-title-main">File system API</span></span>
</h1>
</header>
<a id="top"></a>
<div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="en" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="en" dir="ltr">
<style data-mw-deduplicate="TemplateStyles:r1251242444">
/* start https://en.wikipedia.org/ */
.mw-parser-output .ambox{border:1px solid #a2a9b1;border-left:10px solid #36c;background-color:#fbfbfb;box-sizing:border-box}.mw-parser-output .ambox+link+.ambox,.mw-parser-output .ambox+link+style+.ambox,.mw-parser-output .ambox+link+link+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+style+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+link+.ambox{margin-top:-1px}html body.mediawiki .mw-parser-output .ambox.mbox-small-left{margin:4px 1em 4px 0;overflow:hidden;width:238px;border-collapse:collapse;font-size:88%;line-height:1.25em}.mw-parser-output .ambox-speedy{border-left:10px solid #b32424;background-color:#fee7e6}.mw-parser-output .ambox-delete{border-left:10px solid #b32424}.mw-parser-output .ambox-content{border-left:10px solid #f28500}.mw-parser-output .ambox-style{border-left:10px solid #fc3}.mw-parser-output .ambox-move{border-left:10px solid #9932cc}.mw-parser-output .ambox-protection{border-left:10px solid #a2a9b1}.mw-parser-output .ambox .mbox-text{border:none;padding:0.25em 0.5em;width:100%}.mw-parser-output .ambox .mbox-image{border:none;padding:2px 0 2px 0.5em;text-align:center}.mw-parser-output .ambox .mbox-imageright{border:none;padding:2px 0.5em 2px 0;text-align:center}.mw-parser-output .ambox .mbox-empty-cell{border:none;padding:0;width:1px}.mw-parser-output .ambox .mbox-image-div{width:52px}@media(min-width:720px){.mw-parser-output .ambox{margin:0 10%}}@media print{body.ns-0 .mw-parser-output .ambox{display:none!important}}
/* end https://en.wikipedia.org/ */
</style>
<p>A <b><a href="File_system" title="File system">file system</a> API</b> is an <a href="Application_programming_interface" class="mw-redirect" title="Application programming interface">application programming interface</a> through which a utility or user program requests services of a file system. An operating system may provide abstractions for accessing different file systems transparently.
</p><p>Some file system APIs may also include interfaces for maintenance operations, such as creating or initializing a file system, verifying the file system for integrity, and <a href="Defragmentation" title="Defragmentation">defragmentation</a>.
</p><p>Each operating system includes the APIs needed for the file systems it supports. <a href="Microsoft_Windows" title="Microsoft Windows">Microsoft Windows</a> has file system APIs for <a href="NTFS" title="NTFS">NTFS</a> and several <a href="File_Allocation_Table" title="File Allocation Table">FAT</a> file systems. <a href="Linux" title="Linux">Linux</a> systems can include APIs for <a href="Ext2" title="Ext2">ext2</a>, <a href="Ext3" title="Ext3">ext3</a>, <a href="ReiserFS" title="ReiserFS">ReiserFS</a>, and <a href="Btrfs" title="Btrfs">Btrfs</a> to name a few.
</p>
<meta property="mw:PageProp/toc">
<div class="mw-heading mw-heading2"><h2 id="History">History</h2></div>
<p>Some early operating systems were capable of handling only tape and disk <a href="File_system" title="File system">file systems</a>. These provided the most basic of interfaces with:
</p>
<ul><li>Write, read and position</li></ul>
<p>More coordination such as device allocation and deallocation required the addition of:
</p>
<ul><li>Open and close</li></ul>
<p>As file systems provided more services, more interfaces were defined:
</p>
<ul><li>Metadata management</li>
<li>File system maintenance</li></ul>
<p>As additional file system types, hierarchy structure and supported media increased, additional features needed some specialized functions:
</p>
<ul><li>Directory management</li>
<li>Data structure management</li>
<li>Record management</li>
<li><a href="File_descriptor" title="File descriptor">Non-data operations</a></li></ul>
<p>Multi-user systems required APIs for:
</p>
<ul><li>Sharing</li>
<li>Restricting access</li>
<li>Encryption</li></ul>
<div class="mw-heading mw-heading2"><h2 id="API_overviews">API overviews</h2></div>
<div class="mw-heading mw-heading3"><h3 id="Write,_read_and_position">Write, read and position</h3></div>
<p>Writing user data to a file system is provided for use directly by the user program or the run-time library. The run-time library for some programming languages may provide type conversion, formatting and blocking. Some file systems provide identification of records by key and may include re-writing an existing record. This operation is sometimes called <a rel="nofollow" class="external text" href="http://www.prycroft6.com.au/misc/download/GC26-3875-0_MVS_DataMgmtSrvcsGde_Aug78OCR.pdf"><code>PUT</code></a> or <code>PUTX</code> (if the record exists)
</p><p>Reading user data, sometimes called <a rel="nofollow" class="external text" href="http://www.prycroft6.com.au/misc/download/GC26-3875-0_MVS_DataMgmtSrvcsGde_Aug78OCR.pdf">GET</a>, may include a direction (forward or reverse) or in the case of a keyed file system, a specific key. As with writing run-time libraries may intercede for the user program.
</p><p>Positioning includes adjusting the location of the next record. This may include skipping forward or reverse as well as positioning to the beginning or end of the file.
</p>
<div class="mw-heading mw-heading3"><h3 id="Open_and_close">Open and close</h3></div>
<p>The <b><a href="Open_(system_call)" title="Open (system call)">open</a></b> API may be explicitly requested or implicitly invoked upon the issuance of the first operation by a process on an object. It may cause the mounting of removable media, establishing a connection to another host and validating the location and accessibility of the object. It updates system structures to indicate that the object is in use.
</p><p>Usual requirements for requesting access to a file system object include:
</p>
<ol><li>The object which is to be accessed (file, directory, media and location)</li>
<li>The intended type of operations to be performed after the open (reads, updates, deletions)</li></ol>
<p>Additional information may be necessary, for example
</p>
<ul><li>a password</li>
<li>a declaration that other processes may access the same object while the opening process is using the object (sharing). This may depend on the intent of the other process. In contrast, a declaration that no other process may access the object regardless of the other processes intent (exclusive use).</li></ul>
<p>These are requested via a programming language library which may provide coordination among modules in the process in addition to forwarding the request to the file system.
</p><p>It must be expected that something may go wrong during the processing of the open.
</p>
<ol><li>The object or intent may be improperly specified (the name may include an unacceptable character or the intent is unrecognized).</li>
<li>The process may be prohibited from accessing the object (it may be only accessible by a group or specific user).</li>
<li>The file system may be unable to create or update structures required to coordinate activities among users.</li>
<li>In the case of a new (or replacement) object, there may not be sufficient capacity on the media.</li></ol>
<p>Depending on the programming language, additional specifications in the open may establish the modules to handle these conditions. Some libraries specify a library module to the file system permitting analysis should the opening program be unable to perform any meaningful action as a result of a failure. For example, if the failure is on the attempt to open the necessary input file, the only action may be to report the failure and abort the program. Some languages simply return a code indicating the type of failure which <b>always must be checked</b> by the program, which decides what to report and if it can continue.
</p><p><b><a href="Close_(system_call)" title="Close (system call)">Close</a></b> may cause dismounting or ejecting removable media and updating library and file system structures to indicate that the object is no longer in use.
The minimal specification to the close references the object. Additionally, some file systems provide specifying a disposition of the object which may indicate the object is to be discarded and no longer be part of the file system.
Similar to the open, it must be expected that something may go wrong.
</p>
<ol><li>The specification of the object may be incorrect.</li>
<li>There may not be sufficient capacity on the media to save any data being buffered or to output a structure indicating that the object was successfully updated.</li>
<li>A device error may occur on the media where the object is stored while writing buffered data, the completion structure or updating meta data related to the object (for example last access time).</li>
<li>A specification to release the object may be inconsistent with other processes still using the object.</li></ol>
<p>Considerations for handling a failure are similar to those of the open.
</p>
<div class="mw-heading mw-heading3"><h3 id="Metadata_management">Metadata management</h3></div>
<p>Information about the data in a file is called metadata.
</p><p>Some of the metadata is maintained by the file system, for example last-modification date (and various other dates depending on the file system),
location of the beginning of the file, the size of the file and if the file system backup utility has saved the current version of the files. These items cannot usually be altered by a user program.
</p><p>Additional meta data supported by some file systems may include the owner of the file, the group to which the file belongs as well as permissions and/or access control (i.e. What access and updates various users or groups may perform), and whether the file is normally visible when the directory is listed. These items are usually modifiable by file system utilities which may be executed by the owner.
</p><p>Some applications store more metadata. For images the metadata may include the camera model and settings used to take the photo. For audio files, the meta data may include the album, artist who recorded the recording and comments about the recording which may be specific to a particular copy of the file (i.e. different copies of the same recording may have different comments as update by the owner of the file). Documents may include items like checked-by, approved-by, etc.
</p>
<div class="mw-heading mw-heading3"><h3 id="Directory_management">Directory management</h3></div>
<p>Renaming a file, moving a file (or a subdirectory) from one directory to another and deleting a file are examples of the operations provide by the file system for the management of directories.
</p><p>Metadata operations such as permitting or restricting access the a directory by various users or groups of users are usually included.
</p>
<div class="mw-heading mw-heading3"><h3 id="Filesystem_maintenance">Filesystem maintenance</h3></div>
<p>As a filesystem is used directories, files and records may be added, deleted or modified. This usually causes inefficiencies in the underlying data structures. Things like logically sequential blocks distributed across the media in a way that causes excessive repositioning, partially used even empty blocks included in linked structures. Incomplete structures or other inconsistencies may be caused by device or media errors, inadequate time between detection of impending loss of power and actual power loss, improper system shutdown or media removal, and on very rare occasions file system coding errors.
</p><p>Specialized routines in the file system are included to optimize or repair these structures. They are not usually invoked by the user directly but triggered within the file system itself. Internal counters of the number of levels of structures, number of inserted objects may be compared against thresholds. These may cause user access to be suspended to a specific structure (usually to the displeasure of the user or users effected) or may be started as low priority asynchronous tasks or they may be deferred to a time of low user activity. Sometimes these routines are invoked or scheduled by the system manager or as in the case of <a href="Defragmentation" title="Defragmentation">defragmentation</a>.
</p>
<div class="mw-heading mw-heading2"><h2 id="Kernel-level_API">Kernel-level API</h2></div>
<p>The API is "kernel-level" when the kernel not only provides the interfaces for the filesystems developers but is also the space in which the filesystem code resides.
</p><p>It differs with the old schema in that the kernel itself uses its own facilities to talk with the filesystem driver and vice versa, as contrary to the kernel being the one that handles the filesystem layout and the filesystem the one that directly access the hardware.
</p><p>It is not the cleanest scheme but resolves the difficulties of major rewrite that has the old scheme.
</p><p>With modular kernels it allows adding filesystems as any kernel module, even third party ones. With non-modular kernels however it requires the kernel to be recompiled with the new filesystem code (and in closed-source kernels, this makes third party filesystem impossible).
</p><p><a href="Unix" title="Unix">Unixes</a> and <a href="Unix-like" title="Unix-like">Unix-like</a> systems such as <a href="Linux" title="Linux">Linux</a> have used this modular scheme.
</p><p>There is a variation of this scheme used in <a href="MS-DOS" title="MS-DOS">MS-DOS</a> (DOS 4.0 onward) and compatibles to support CD-ROM and network file systems. Instead of adding code to the kernel, as in the old scheme, or using kernel facilities as in the kernel-based scheme, it traps all calls to a file and identifies if it should be redirected to the kernel's equivalent function or if it has to be handled by the specific filesystem driver, and the filesystem driver "directly" access the disk contents using low-level <a href="BIOS" title="BIOS">BIOS</a> functions.
</p>
<div class="mw-heading mw-heading2"><h2 id="Driver-based_API">Driver-based API</h2></div>
<p>The API is "driver-based" when the kernel provides facilities but the file system code resides totally external to the kernel (not even as a module of a modular kernel).
</p><p>It is a cleaner scheme as the filesystem code is totally independent, it allows filesystems to be created for closed-source kernels and online filesystem additions or removals from the system.
</p><p>Examples of this scheme are the <a href="Windows_NT" title="Windows NT">Windows NT</a> and <a href="OS/2" title="OS/2">OS/2</a> respective <a href="Installable_File_System" title="Installable File System">IFSs</a>.
</p>
<div class="mw-heading mw-heading2"><h2 id="Mixed_kernel-driver-based_API">Mixed kernel-driver-based API</h2></div>
<p>In this API all filesystems are in the kernel, like in kernel-based APIs, but they are automatically trapped by another API, that is driver-based, by the OS.
</p><p>This scheme was used in <a href="Windows_3.1" title="Windows 3.1">Windows 3.1</a> for providing a FAT filesystem driver in 32-bit protected mode, and cached, (VFAT) that bypassed the DOS FAT driver in the kernel (MSDOS.SYS) completely, and later in the Windows 9x series (<a href="Windows_95" title="Windows 95">95</a>, <a href="Windows_98" title="Windows 98">98</a> and <a href="Windows_Me" title="Windows Me">Me</a>) for VFAT, the ISO9660 filesystem driver (along with Joliet), network shares, and third party filesystem drivers, as well as adding to the original DOS APIs the LFN API (that IFS drivers can not only intercept the already existent DOS file APIs but also add new ones from within the 32-bit protected mode executable).
</p><p>However that API was not completely documented, and third parties found themselves in a "make-it-by-yourself" scenario even worse than with kernel-based APIs.
</p>
<div class="mw-heading mw-heading2"><h2 id="User_space_API">User space API</h2></div>
<p>The API is in the <a href="User_space" class="mw-redirect" title="User space">user space</a> when the filesystem does not directly use kernel facilities but accesses disks using high-level operating system functions and provides functions in a <a href="Library_(computing)" title="Library (computing)">library</a> that a series of utilities use to access the filesystem.
</p><p>This is useful for handling disk images.
</p><p>The advantage is that a filesystem can be made portable between operating systems as the high-level operating system functions it uses can be as common as ANSI C, but the disadvantage is that the API is unique to each application that implements one.
</p><p>Examples of this scheme are the <a rel="nofollow" class="external text" href="http://www.mars.org/home/rob/proj/hfs/">hfsutils</a> and the <a rel="nofollow" class="external text" href="https://github.com/adflib/ADFlib">adflib</a>.
</p>
<div class="mw-heading mw-heading2"><h2 id="Interoperatibility_between_file_system_APIs">Interoperatibility between file system APIs</h2></div>
<p>As all filesystems (at least the disk ones) need equivalent functions provided by the kernel, it is possible to easily port a filesystem code from one API to another, even if they are of different types.
</p><p>For example, the ext2 driver for OS/2 is simply a wrapper from the Linux's VFS to the OS/2's IFS and the Linux's ext2 kernel-based, and the HFS driver for OS/2 is a port of the hfsutils to the OS/2's IFS. There also exists a project that uses a Windows NT IFS driver for making NTFS work under Linux.
</p>
<div class="mw-heading mw-heading2"><h2 id="See_also">See also</h2></div>
<ul><li><a href="Comparison_of_file_systems" title="Comparison of file systems">Comparison of file systems</a></li>
<li><a href="File_system" title="File system">File system</a></li>
<li><a href="Filename_extension" title="Filename extension">Filename extension</a></li>
<li><a href="Filing_Open_Service_Interface_Definition" class="mw-redirect" title="Filing Open Service Interface Definition">Filing Open Service Interface Definition</a> (OSID)</li>
<li><a href="Installable_File_System" title="Installable File System">Installable File System</a> (IFS)</li>
<li><a href="List_of_file_systems" title="List of file systems">List of file systems</a></li>
<li><a href="Virtual_file_system" title="Virtual file system">Virtual file system</a></li></ul>
<div class="mw-heading mw-heading2"><h2 id="References">References</h2></div>
<style data-mw-deduplicate="TemplateStyles:r1239543626">
/* start https://en.wikipedia.org/ */
.mw-parser-output .reflist{margin-bottom:0.5em;list-style-type:decimal}@media screen{.mw-parser-output .reflist{font-size:90%}}.mw-parser-output .reflist .references{font-size:100%;margin-bottom:0;list-style-type:inherit}.mw-parser-output .reflist-columns-2{column-width:30em}.mw-parser-output .reflist-columns-3{column-width:25em}.mw-parser-output .reflist-columns{margin-top:0.3em}.mw-parser-output .reflist-columns ol{margin-top:0}.mw-parser-output .reflist-columns li{page-break-inside:avoid;break-inside:avoid-column}.mw-parser-output .reflist-upper-alpha{list-style-type:upper-alpha}.mw-parser-output .reflist-upper-roman{list-style-type:upper-roman}.mw-parser-output .reflist-lower-alpha{list-style-type:lower-alpha}.mw-parser-output .reflist-lower-greek{list-style-type:lower-greek}.mw-parser-output .reflist-lower-roman{list-style-type:lower-roman}
/* end https://en.wikipedia.org/ */
</style><div class="reflist">
</div>
<div class="mw-heading mw-heading2"><h2 id="Sources">Sources</h2></div>
<ul><li>O'Reilly - Windows NT File System Internals, A Developer's Guide - By Rajeev Nagar - <style data-mw-deduplicate="TemplateStyles:r1238218222">
/* start https://en.wikipedia.org/ */
.mw-parser-output cite.citation{font-style:inherit;word-wrap:break-word}.mw-parser-output .citation q{quotes:"\"""\"""'""'"}.mw-parser-output .citation:target{background-color:rgba(0,127,255,0.133)}.mw-parser-output .id-lock-free.id-lock-free a{background:url("./mw/Lock-green.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-limited.id-lock-limited a,.mw-parser-output .id-lock-registration.id-lock-registration a{background:url("./mw/Lock-gray-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-subscription.id-lock-subscription a{background:url("./mw/Lock-red-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .cs1-ws-icon a{background:url("./mw/Wikisource-logo.svg")right 0.1em center/12px no-repeat}body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-free a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-limited a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-registration a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-subscription a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .cs1-ws-icon a{background-size:contain;padding:0 1em 0 0}.mw-parser-output .cs1-code{color:inherit;background:inherit;border:none;padding:inherit}.mw-parser-output .cs1-hidden-error{display:none;color:var(--color-error,#d33)}.mw-parser-output .cs1-visible-error{color:var(--color-error,#d33)}.mw-parser-output .cs1-maint{display:none;color:#085;margin-left:0.3em}.mw-parser-output .cs1-kern-left{padding-left:0.2em}.mw-parser-output .cs1-kern-right{padding-right:0.2em}.mw-parser-output .citation .mw-selflink{font-weight:inherit}@media screen{.mw-parser-output .cs1-format{font-size:95%}html.skin-theme-clientpref-night .mw-parser-output .cs1-maint{color:#18911f}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .cs1-maint{color:#18911f}}
/* end https://en.wikipedia.org/ */
</style><a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <bdi>1-56592-249-2</bdi></li>
<li>Microsoft Press - Inside Windows NT File System - By Helen Custer - <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <bdi>1-55615-660-X</bdi></li>
<li>Wiley - UNIX Filesystems: Evolution, Design, and Implementation - By Steve D. Pate - <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <bdi>0-471-16483-6</bdi></li>
<li>Microsoft Press - Inside Windows NT - By Helen Custer - <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <bdi>1-55615-481-X</bdi></li></ul>
<div class="mw-heading mw-heading2"><h2 id="External_links">External links</h2></div>
<ul><li><a rel="nofollow" class="external text" href="http://www.forensics.nl/filesystems">Filesystem Specifications and Technical Whitepapers</a> <a rel="nofollow" class="external text" href="https://web.archive.org/web/20151103192057/http://www.forensics.nl/filesystems">Archived</a> 2015-11-03 at the <a href="Wayback_Machine" title="Wayback Machine">Wayback Machine</a></li>
<li><a rel="nofollow" class="external text" href="http://www.tldp.org/LDP/khg/HyperNews/get/fs/vfstour.html">A Tour of the Linux VFS</a></li>
<li><a rel="nofollow" class="external text" href="http://www.microsoft.com/whdc/devtools/ifskit/default.mspx">Microsoft's IFSKit</a></li>
<li><a rel="nofollow" class="external text" href="http://www.mars.org/home/rob/proj/hfs/">hfsutils</a></li>
<li><a rel="nofollow" class="external text" href="http://lclevy.club.fr/adflib/">adflib</a></li>
<li><a rel="nofollow" class="external text" href="https://golangexample.com/a-filesystem-abstraction-system-for-go/">A FileSystem Abstraction System for Go</a></li></ul>
<div class="navbox-styles"><style data-mw-deduplicate="TemplateStyles:r1129693374">
/* start https://en.wikipedia.org/ */
.mw-parser-output .hlist dl,.mw-parser-output .hlist ol,.mw-parser-output .hlist ul{margin:0;padding:0}.mw-parser-output .hlist dd,.mw-parser-output .hlist dt,.mw-parser-output .hlist li{margin:0;display:inline}.mw-parser-output .hlist.inline,.mw-parser-output .hlist.inline dl,.mw-parser-output .hlist.inline ol,.mw-parser-output .hlist.inline ul,.mw-parser-output .hlist dl dl,.mw-parser-output .hlist dl ol,.mw-parser-output .hlist dl ul,.mw-parser-output .hlist ol dl,.mw-parser-output .hlist ol ol,.mw-parser-output .hlist ol ul,.mw-parser-output .hlist ul dl,.mw-parser-output .hlist ul ol,.mw-parser-output .hlist ul ul{display:inline}.mw-parser-output .hlist .mw-empty-li{display:none}.mw-parser-output .hlist dt::after{content:": "}.mw-parser-output .hlist dd::after,.mw-parser-output .hlist li::after{content:" ยท ";font-weight:bold}.mw-parser-output .hlist dd:last-child::after,.mw-parser-output .hlist dt:last-child::after,.mw-parser-output .hlist li:last-child::after{content:none}.mw-parser-output .hlist dd dd:first-child::before,.mw-parser-output .hlist dd dt:first-child::before,.mw-parser-output .hlist dd li:first-child::before,.mw-parser-output .hlist dt dd:first-child::before,.mw-parser-output .hlist dt dt:first-child::before,.mw-parser-output .hlist dt li:first-child::before,.mw-parser-output .hlist li dd:first-child::before,.mw-parser-output .hlist li dt:first-child::before,.mw-parser-output .hlist li li:first-child::before{content:" (";font-weight:normal}.mw-parser-output .hlist dd dd:last-child::after,.mw-parser-output .hlist dd dt:last-child::after,.mw-parser-output .hlist dd li:last-child::after,.mw-parser-output .hlist dt dd:last-child::after,.mw-parser-output .hlist dt dt:last-child::after,.mw-parser-output .hlist dt li:last-child::after,.mw-parser-output .hlist li dd:last-child::after,.mw-parser-output .hlist li dt:last-child::after,.mw-parser-output .hlist li li:last-child::after{content:")";font-weight:normal}.mw-parser-output .hlist ol{counter-reset:listitem}.mw-parser-output .hlist ol>li{counter-increment:listitem}.mw-parser-output .hlist ol>li::before{content:" "counter(listitem)"\a0 "}.mw-parser-output .hlist dd ol>li:first-child::before,.mw-parser-output .hlist dt ol>li:first-child::before,.mw-parser-output .hlist li ol>li:first-child::before{content:" ("counter(listitem)"\a0 "}
/* end https://en.wikipedia.org/ */
</style><style data-mw-deduplicate="TemplateStyles:r1236075235">
/* start https://en.wikipedia.org/ */
.mw-parser-output .navbox{box-sizing:border-box;border:1px solid #a2a9b1;width:100%;clear:both;font-size:88%;text-align:center;padding:1px;margin:1em auto 0}.mw-parser-output .navbox .navbox{margin-top:0}.mw-parser-output .navbox+.navbox,.mw-parser-output .navbox+.navbox-styles+.navbox{margin-top:-1px}.mw-parser-output .navbox-inner,.mw-parser-output .navbox-subgroup{width:100%}.mw-parser-output .navbox-group,.mw-parser-output .navbox-title,.mw-parser-output .navbox-abovebelow{padding:0.25em 1em;line-height:1.5em;text-align:center}.mw-parser-output .navbox-group{white-space:nowrap;text-align:right}.mw-parser-output .navbox,.mw-parser-output .navbox-subgroup{background-color:#fdfdfd}.mw-parser-output .navbox-list{line-height:1.5em;border-color:#fdfdfd}.mw-parser-output .navbox-list-with-group{text-align:left;border-left-width:2px;border-left-style:solid}.mw-parser-output tr+tr>.navbox-abovebelow,.mw-parser-output tr+tr>.navbox-group,.mw-parser-output tr+tr>.navbox-image,.mw-parser-output tr+tr>.navbox-list{border-top:2px solid #fdfdfd}.mw-parser-output .navbox-title{background-color:#ccf}.mw-parser-output .navbox-abovebelow,.mw-parser-output .navbox-group,.mw-parser-output .navbox-subgroup .navbox-title{background-color:#ddf}.mw-parser-output .navbox-subgroup .navbox-group,.mw-parser-output .navbox-subgroup .navbox-abovebelow{background-color:#e6e6ff}.mw-parser-output .navbox-even{background-color:#f7f7f7}.mw-parser-output .navbox-odd{background-color:transparent}.mw-parser-output .navbox .hlist td dl,.mw-parser-output .navbox .hlist td ol,.mw-parser-output .navbox .hlist td ul,.mw-parser-output .navbox td.hlist dl,.mw-parser-output .navbox td.hlist ol,.mw-parser-output .navbox td.hlist ul{padding:0.125em 0}.mw-parser-output .navbox .navbar{display:block;font-size:100%}.mw-parser-output .navbox-title .navbar{float:left;text-align:left;margin-right:0.5em}body.skin--responsive .mw-parser-output .navbox-image img{max-width:none!important}@media print{body.ns-0 .mw-parser-output .navbox{display:none!important}}
/* end https://en.wikipedia.org/ */
</style></div><div role="navigation" class="navbox" aria-labelledby="File_systems283" style="padding:3px"><table class="nowraplinks hlist mw-collapsible autocollapse navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><style data-mw-deduplicate="TemplateStyles:r1239400231">
/* start https://en.wikipedia.org/ */
.mw-parser-output .navbar{display:inline;font-size:88%;font-weight:normal}.mw-parser-output .navbar-collapse{float:left;text-align:left}.mw-parser-output .navbar-boxtext{word-spacing:0}.mw-parser-output .navbar ul{display:inline-block;white-space:nowrap;line-height:inherit}.mw-parser-output .navbar-brackets::before{margin-right:-0.125em;content:"[ "}.mw-parser-output .navbar-brackets::after{margin-left:-0.125em;content:" ]"}.mw-parser-output .navbar li{word-spacing:-0.125em}.mw-parser-output .navbar a>span,.mw-parser-output .navbar a>abbr{text-decoration:inherit}.mw-parser-output .navbar-mini abbr{font-variant:small-caps;border-bottom:none;text-decoration:none;cursor:inherit}.mw-parser-output .navbar-ct-full{font-size:114%;margin:0 7em}.mw-parser-output .navbar-ct-mini{font-size:114%;margin:0 4em}html.skin-theme-clientpref-night .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}@media(prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}}@media print{.mw-parser-output .navbar{display:none!important}}
/* end https://en.wikipedia.org/ */
</style><div id="File_systems283" style="font-size:114%;margin:0 4em"><a href="File_system" title="File system">File systems</a></div></th></tr><tr><td class="navbox-abovebelow" colspan="2"><div>
<ul><li><a href="Comparison_of_file_systems" title="Comparison of file systems">Comparison of file systems</a>
<ul><li><a href="Comparison_of_distributed_file_systems" title="Comparison of distributed file systems">distributed</a></li></ul></li>
<li><a href="Unix_filesystem" title="Unix filesystem">Unix filesystem</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Disk and<br>non-rotating</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><td colspan="2" class="navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Advanced_Disc_Filing_System" title="Advanced Disc Filing System">ADFS</a></li>
<li><a href="AdvFS" title="AdvFS">AdvFS</a></li>
<li><a href="Amiga_Fast_File_System" title="Amiga Fast File System">Amiga FFS</a></li>
<li><a href="Amiga_Old_File_System" title="Amiga Old File System">Amiga OFS</a></li>
<li><a href="Apple_File_System" title="Apple File System">APFS</a></li>
<li><a href="AtheOS_File_System" class="mw-redirect" title="AtheOS File System">AthFS</a></li>
<li><a href="Bcachefs" title="Bcachefs">bcachefs</a></li>
<li>BFS
<ul><li><a href="Be_File_System" title="Be File System">Be File System</a></li>
<li><a href="Boot_File_System" title="Boot File System">Boot File System</a></li>
<li>Byte File System (<a href="Z/VM" title="Z/VM">z/VM</a>)</li></ul></li>
<li><a href="Btrfs" title="Btrfs">Btrfs</a></li>
<li><a href="StorNext_File_System" title="StorNext File System">CVFS</a></li>
<li><a href="CXFS" title="CXFS">CXFS</a></li>
<li><a href="Disc_Filing_System" title="Disc Filing System">DFS</a></li>
<li>EFS
<ul><li><a href="Encrypting_File_System" title="Encrypting File System">Encrypting File System</a></li>
<li><a href="Extent_File_System" title="Extent File System">Extent File System</a></li></ul></li>
<li><a href="Episode_filesystem" title="Episode filesystem">Episode</a></li>
<li><a href="Extended_file_system" title="Extended file system">ext</a>
<ul><li><a href="Ext2" title="Ext2">ext2</a></li>
<li><a href="Ext3" title="Ext3">ext3</a></li>
<li><a href="Ext3cow" title="Ext3cow">ext3cow</a></li>
<li><a href="Ext4" title="Ext4">ext4</a></li></ul></li>
<li><a href="File_Allocation_Table" title="File Allocation Table">FAT</a>
<ul><li><a href="ExFAT" title="ExFAT">exFAT</a></li></ul></li>
<li><a href="Files-11" title="Files-11">Files-11</a></li>
<li><a href="Fossil_(file_system)" title="Fossil (file system)">Fossil</a></li>
<li><a href="GPFS" title="GPFS">GPFS</a></li>
<li><a href="HAMMER_(file_system)" title="HAMMER (file system)">HAMMER</a>
<ul><li><a href="HAMMER2" title="HAMMER2">HAMMER2</a></li></ul></li>
<li><a href="Hierarchical_File_System_(Apple)" title="Hierarchical File System (Apple)">HFS</a> (<a href="Classic_Mac_OS" title="Classic Mac OS">Classic Mac OS</a>)</li>
<li><a href="Hierarchical_File_System_(IBM_MVS)" title="Hierarchical File System (IBM MVS)">HFS</a> (<a href="MVS" title="MVS">MVS</a>)</li>
<li><a href="HFS_Plus" title="HFS Plus">HFS+</a></li>
<li><a href="High_Performance_File_System" title="High Performance File System">HPFS</a></li>
<li><a href="High_Throughput_File_System" title="High Throughput File System">HTFS</a></li>
<li><a href="JFS_(file_system)" title="JFS (file system)">JFS</a></li>
<li><a href="Log-structured_File_System_(BSD)" title="Log-structured File System (BSD)">LFS</a></li>
<li>MFS
<ul><li><a href="Macintosh_File_System" title="Macintosh File System">Macintosh File System</a></li>
<li><a href="TiVo_Media_File_System" title="TiVo Media File System">TiVo Media File System</a></li></ul></li>
<li><a href="MINIX_file_system" title="MINIX file system">MINIX</a></li>
<li><a href="NetWare_File_System" title="NetWare File System">NetWare File System</a></li>
<li><a href="Next3" title="Next3">Next3</a></li>
<li><a href="NILFS" title="NILFS">NILFS</a>
<ul><li><a href="NILFS" title="NILFS">NILFS2</a></li></ul></li>
<li><a href="Novell_Storage_Services" title="Novell Storage Services">NSS</a></li>
<li><a href="NTFS" title="NTFS">NTFS</a></li>
<li><a href="OneFS_distributed_file_system" title="OneFS distributed file system">OneFS</a></li>
<li><a href="OpenZFS" title="OpenZFS">OpenZFS</a></li>
<li><a href="Professional_File_System" title="Professional File System">PFS</a></li>
<li><a href="QFS" title="QFS">QFS</a></li>
<li><a href="QNX4FS" title="QNX4FS">QNX4FS</a></li>
<li><a href="ReFS" title="ReFS">ReFS</a></li>
<li><a href="ReiserFS" title="ReiserFS">ReiserFS</a>
<ul><li><a href="Reiser4" title="Reiser4">Reiser4</a></li></ul></li>
<li><a href="Datalight#Reliance_family" title="Datalight">Reliance</a></li>
<li><a href="Datalight#Reliance_Nitro" title="Datalight">Reliance Nitro</a></li>
<li><a href="Remote_File_Sharing" title="Remote File Sharing">RFS</a></li>
<li>SFS
<ul><li>Shared File System (<a href="VM_(operating_system)" title="VM (operating system)">VM</a>)</li>
<li><a href="Smart_File_System" title="Smart File System">Smart File System</a></li></ul></li>
<li><a href="StorNext_File_System" title="StorNext File System">SNFS</a></li>
<li><a href="Soup_(Apple)" title="Soup (Apple)">Soup (Apple)</a></li>
<li><a href="Tux3" title="Tux3">Tux3</a></li>
<li><a href="UBIFS" title="UBIFS">UBIFS</a></li>
<li><a href="Unix_File_System" title="Unix File System">UFS/UFS2</a>
<ul><li><a href="Soft_updates" title="Soft updates">soft updates</a></li>
<li><a href="Write_Ahead_Physical_Block_Logging" title="Write Ahead Physical Block Logging">WAPBL</a></li></ul></li>
<li><a href="Veritas_File_System" title="Veritas File System">VxFS</a></li>
<li><a href="Write_Anywhere_File_Layout" title="Write Anywhere File Layout">WAFL</a></li>
<li><a href="Xiafs" title="Xiafs">Xiafs</a></li>
<li><a href="XFS" title="XFS">XFS</a></li>
<li><a href="Xsan" title="Xsan">Xsan</a></li>
<li><a href="ZFS_(z/OS_file_system)" title="ZFS (z/OS file system)">zFS</a> (<a href="Z/OS" title="Z/OS">z/OS</a>)</li>
<li><a href="ZFS" title="ZFS">ZFS</a> (<a href="Sun_Microsystems" title="Sun Microsystems">Sun</a>)</li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Optical_disc" title="Optical disc">Optical disc</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="High_Sierra_Format" class="mw-redirect" title="High Sierra Format">HSF</a></li>
<li><a href="ISO_9660" title="ISO 9660">ISO 9660</a></li>
<li><a href="ISO_13490" title="ISO 13490">ISO 13490</a></li>
<li><a href="Universal_Disk_Format" title="Universal Disk Format">UDF</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Flash_memory" title="Flash memory">Flash memory</a> and <a href="Solid-state_drive" title="Solid-state drive">SSD</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Apple_File_System" title="Apple File System">APFS</a></li>
<li><a href="File_Allocation_Table" title="File Allocation Table">FAT</a></li>
<li><a href="ExFAT" title="ExFAT">exFAT</a></li>
<li><a href="Transaction-Safe_FAT_File_System" title="Transaction-Safe FAT File System">TFAT</a></li>
<li><a href="EROFS" title="EROFS">EROFS</a></li>
<li><a href="F2FS" title="F2FS">F2FS</a></li>
<li><a href="JFS_(file_system)" title="JFS (file system)">JFS</a></li>
<li><a href="Non-Volatile_File_System" title="Non-Volatile File System">NVFS</a></li></ul>
</div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th id="host-side_wear_leveling27" scope="row" class="navbox-group" style="width:1%">host-side <a href="Wear_leveling" title="Wear leveling">wear leveling</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="CHFS" title="CHFS">CHFS</a></li>
<li><a href="JFFS" title="JFFS">JFFS</a></li>
<li><a href="JFFS2" title="JFFS2">JFFS2</a></li>
<li><a href="LogFS" title="LogFS">LogFS</a></li>
<li><a href="NILFS" title="NILFS">NILFS</a>
<ul><li><a href="NILFS" title="NILFS">NILFS2</a></li></ul></li>
<li><a href="YAFFS" title="YAFFS">YAFFS</a></li>
<li><a href="UBIFS" title="UBIFS">UBIFS</a></li></ul>
</div></td></tr></tbody></table><div>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Clustered_file_system#Distributed_file_systems" title="Clustered file system">Distributed parallel</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="BeeGFS" title="BeeGFS">BeeGFS</a></li>
<li><a href="Ceph_(software)" title="Ceph (software)">Ceph</a></li>
<li><a href="CXFS" title="CXFS">CXFS</a></li>
<li><a href="GFS2" title="GFS2">GFS2</a></li>
<li><a href="Google_File_System" title="Google File System">Google File System</a></li>
<li><a href="OCFS2" title="OCFS2">OCFS2</a></li>
<li><a href="OrangeFS" title="OrangeFS">OrangeFS</a></li>
<li><a href="Parallel_Virtual_File_System" title="Parallel Virtual File System">PVFS</a></li>
<li><a href="Quantcast_File_System" title="Quantcast File System">QFS</a></li>
<li><a href="Xsan" title="Xsan">Xsan</a></li>
<li><i><a href="List_of_file_systems#Distributed_parallel_file_systems" title="List of file systems">more...</a></i></li></ul>
</div></td></tr></tbody></table><div></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Network-attached_storage" title="Network-attached storage">NAS</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="9P_(protocol)" title="9P (protocol)">9P</a></li>
<li><a href="Andrew_File_System" title="Andrew File System">AFS</a> (<a href="OpenAFS" title="OpenAFS">OpenAFS</a>)</li>
<li><a href="Apple_Filing_Protocol" title="Apple Filing Protocol">AFP</a></li>
<li><a href="Coda_(file_system)" title="Coda (file system)">Coda</a></li>
<li><a href="Distributed_File_System_(Microsoft)" title="Distributed File System (Microsoft)">DFS</a></li>
<li><a href="Google_File_System" title="Google File System">Google File System</a></li>
<li><a href="GPFS" title="GPFS">GPFS</a></li>
<li><a href="Lustre_(file_system)" title="Lustre (file system)">Lustre</a></li>
<li><a href="NetWare_Core_Protocol" title="NetWare Core Protocol">NCP</a></li>
<li><a href="Network_File_System" title="Network File System">NFS</a></li>
<li><a href="Elliptics" title="Elliptics">POHMELFS</a></li>
<li><a href="Apache_Hadoop" title="Apache Hadoop">Hadoop</a></li>
<li><a href="Server_Message_Block" title="Server Message Block">SMB (CIFS)</a></li>
<li><a href="SSHFS" title="SSHFS">SSHFS</a></li>
<li><i><a href="List_of_file_systems#Distributed_file_systems" title="List of file systems">more...</a></i></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Specialized</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><td colspan="2" class="navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Aufs" title="Aufs">Aufs</a></li>
<li><a href="AXFS" title="AXFS">AXFS</a></li>
<li><a href="Boot_File_System" title="Boot File System">Boot File System</a></li>
<li><a href="Compact_Disc_File_System" title="Compact Disc File System">Compact Disc File System</a></li>
<li><a href="Cramfs" title="Cramfs">cramfs</a></li>
<li><a href="Davfs2" title="Davfs2">Davfs2</a></li>
<li><a href="EROFS" title="EROFS">EROFS</a></li>
<li><a href="FTPFS" title="FTPFS">FTPFS</a></li>
<li><a href="Filesystem_in_Userspace" title="Filesystem in Userspace">FUSE</a></li>
<li><a href="Lnfs" title="Lnfs">Lnfs</a></li>
<li><a href="Linear_Tape_File_System" title="Linear Tape File System">LTFS</a></li>
<li><a href="NOVA_(filesystem)" title="NOVA (filesystem)">NOVA</a></li>
<li><a href="Rational_MultiVersion_File_System" class="mw-redirect" title="Rational MultiVersion File System">MVFS</a></li>
<li><a href="SquashFS" title="SquashFS">SquashFS</a></li>
<li><a href="FAT_filesystem_and_Linux" title="FAT filesystem and Linux">UMSDOS</a></li>
<li><a href="OverlayFS" title="OverlayFS">OverlayFS</a></li>
<li><a href="UnionFS" title="UnionFS">UnionFS</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Pseudo</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Configfs" title="Configfs">configfs</a></li>
<li><a href="Device_file" title="Device file">devfs</a></li>
<li><a href="Debugfs" title="Debugfs">debugfs</a></li>
<li><a href="Kernfs_(BSD)" title="Kernfs (BSD)">kernfs</a></li>
<li><a href="Procfs" title="Procfs">procfs</a></li>
<li>specfs</li>
<li><a href="Sysfs" title="Sysfs">sysfs</a></li>
<li><a href="Tmpfs" title="Tmpfs">tmpfs</a></li>
<li><a href="WinFS" title="WinFS">WinFS</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Filesystem-level_encryption" title="Filesystem-level encryption">Encrypted</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="ECryptfs" title="ECryptfs">eCryptfs</a></li>
<li><a href="EncFS" title="EncFS">EncFS</a></li>
<li><a href="Encrypting_File_System" title="Encrypting File System">EFS</a></li>
<li><a href="Rubberhose_(file_system)" class="mw-redirect" title="Rubberhose (file system)">Rubberhose</a></li>
<li><a href="SSHFS" title="SSHFS">SSHFS</a></li>
<li><a href="Oracle_ZFS" title="Oracle ZFS">ZFS</a></li></ul>
</div></td></tr></tbody></table><div></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Types</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Clustered_file_system" title="Clustered file system">Clustered</a>
<ul><li><a href="Global_file_system" title="Global file system">Global</a></li>
<li><a href="Grid_file_system" title="Grid file system">Grid</a></li>
<li><a href="Self-certifying_File_System" title="Self-certifying File System">Self-certifying</a></li></ul></li>
<li><a href="Flash_file_system" title="Flash file system">Flash</a></li>
<li><a href="Journaling_file_system" title="Journaling file system">Journaling</a></li>
<li><a href="Log-structured_file_system" title="Log-structured file system">Log-structured</a></li>
<li><a href="Object_storage" title="Object storage">Object</a></li>
<li><a href="Record-oriented_filesystem" title="Record-oriented filesystem">Record-oriented</a></li>
<li><a href="Semantic_file_system" title="Semantic file system">Semantic</a></li>
<li><a href="Steganographic_file_system" title="Steganographic file system">Steganographic</a></li>
<li><a href="Synthetic_file_system" title="Synthetic file system">Synthetic</a></li>
<li><a href="Versioning_file_system" title="Versioning file system">Versioning</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Features</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><td colspan="2" class="navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Case_preservation" title="Case preservation">Case preservation</a></li>
<li><a href="Copy-on-write" title="Copy-on-write">Copy-on-write</a></li>
<li><a href="Data_deduplication" title="Data deduplication">Data deduplication</a></li>
<li><a href="Data_scrubbing" title="Data scrubbing">Data scrubbing</a></li>
<li><a href="Execute_in_place" title="Execute in place">Execute in place</a></li>
<li><a href="Extent_(file_systems)" title="Extent (file systems)">Extent</a></li>
<li><a href="File_attribute" title="File attribute">File attribute</a>
<ul><li><a href="Extended_file_attributes" title="Extended file attributes">Extended file attributes</a></li></ul></li>
<li><a href="File_change_log" title="File change log">File change log</a></li>
<li><a href="Fork_(file_system)" title="Fork (file system)">Fork</a></li>
<li><a href="Inode" title="Inode">Inode</a></li>
<li>Links
<ul><li><a href="Hard_link" title="Hard link">Hard</a></li>
<li><a href="Symbolic_link" title="Symbolic link">Symbolic</a></li></ul></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Computer_access_control" title="Computer access control">Access control</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Access-control_list" title="Access-control list">Access-control list</a></li>
<li><a href="Filesystem-level_encryption" title="Filesystem-level encryption">Filesystem-level encryption</a></li>
<li><a href="File-system_permissions" title="File-system permissions">Permissions</a>
<ul><li><a href="Chmod" title="Chmod">Modes</a></li>
<li><a href="Sticky_bit" title="Sticky bit">Sticky bit</a></li></ul></li></ul>
</div></td></tr></tbody></table><div></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Interface_(computing)" title="Interface (computing)">Interfaces</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="File_manager" title="File manager">File manager</a></li>
<li>
<ul><li><a href="Installable_File_System" title="Installable File System">Installable File System</a></li></ul></li>
<li><a href="Virtual_file_system" title="Virtual file system">Virtual file system</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="List_of_file_systems" title="List of file systems">Lists</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="List_of_cryptographic_file_systems" title="List of cryptographic file systems">Cryptographic</a></li>
<li><a href="List_of_default_file_systems" title="List of default file systems">Default</a></li>
<li><a href="List_of_log-structured_file_systems" title="List of log-structured file systems">Log-structured</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Layouts</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Master_Boot_Record" class="mw-redirect" title="Master Boot Record">Master Boot Record</a></li>
<li><a href="GUID_Partition_Table" title="GUID Partition Table">GUID Partition Table</a></li>
<li><a href="Apple_Partition_Map" title="Apple Partition Map">Apple Partition Map</a></li></ul>
</div></td></tr></tbody></table></div></div><!--htdig_noindex--><div><div class="zim-footer">
This article is issued from <a class="external text" title="Last edited on 2025-04-27" href="https://en.wikipedia.org/wiki/?title=File_system_API&oldid=1287682804">Wikipedia</a>. The text is available under <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.en">Creative Commons Attribution-Share Alike 4.0</a> unless otherwise noted. Additional terms may apply for the media files.
</div>
</div><!--/htdig_noindex--></div>
</div>
</main>
</div>
</div>
</div>
</body></html>